Protest data is fetched from the ACLED (Armed Conflict Location & Event Data Project) API. ACLED combs news sources to record political unrest, conflict, and more. ACLED uploads new data weekly.

Precipitation and temperature data is fetched from the Global Historical Climatology Network Daily (GHCND) dataset. GHCND data originates from daily weather observations at thousands of surface-based weather stations worldwide.It is managed by NOAA and updates on roughly a 24-hour lag.

Is there sufficient variation in protest frequency and weather conditions in México for a relationship between these phenomena to occur?

Descriptive Statistics

Protest Frequencies

Loading BokehJS ...
Make this Notebook Trusted to load map: File -> Trust Notebook

As of writing (12/26/24), the map and bar plot depict wide variation in protest frequency by location in México. The variation mirrors population density. The most important centers for protest are in the capital, México City, and east-central states like Veracruz.

Protest frequency has also changed over time during the past year, showing notable lows around the very end of both 2023 and 2024.

Weather Patterns

<branca.element.Element at 0x16559614490>
<branca.element.Element at 0x1655964e6b0>
Make this Notebook Trusted to load map: File -> Trust Notebook
Make this Notebook Trusted to load map: File -> Trust Notebook

México is varied in terms of climate, as seen above. The south and the coasts tend to be wetter and hotter than the mountainous interior, perhaps making for more challenging circumstances for demonstrations.

<branca.element.Element at 0x16560701b40>
<branca.element.Element at 0x16560eaba60>
Make this Notebook Trusted to load map: File -> Trust Notebook
WARNING:param.OverlayPlot00632: responsive mode could not be enabled because fixed width and height were specified.
Make this Notebook Trusted to load map: File -> Trust Notebook
WARNING:param.OverlayPlot00723: responsive mode could not be enabled because fixed width and height were specified.

The plots above show that it is rare for protests and precipitation to co-occur on the same day. Additionally, many protests occur in and near México City where the cooler climate is reflected in the temperatures on the day of the protest.

Regression Analysis

Make this Notebook Trusted to load map: File -> Trust Notebook

To quantify the association between protest activity and weather conditions, the unit of analysis is defined as a given weather region on a given day. Weather regions are defined by the most proximate weather station – wherever is closest to a weather station is that weather station’s corresponding region. The map above uses color to show which weather region each protest falls within.

In the regression analysis, the weather region is also used for a fixed effect to help control for factors such as population density, general climate (as opposed to the covariate of interest, current weather conditions), proximity to important government offices, etc. The outcome variable used is a binary indicator of whether any protest occurred in that weather region on that day.

As seen in the table below, the coefficient on precipitation (measured in tenths of millimeters), is very nearly 0 and not statistically significant. The coefficient on average daily temperature (measured in tenths of degrees Celsius) is significant, though very small, however. In a country where heat is often an issue, this effect is curious and requires more careful exploration.

There are several possible explanations for the failure to replicate prior results in the current analysis. Firstly, though many of the weather regions are plausible, several are not, leaving uncertainty as to whether the weather conditions at the weather station were similar to the weather conditions at the protest (sometimes quite far away). Secondly, in most of México, most days there are no protests so the logistic model may have struggled to account for an outcome that is rare in the vast majority of locations, but very common in just a handful of outlying locations. Moreover, the model used regional fixed effects but did not incorporate other controls (whether constant, e.g. population, or time-varying, e.g. unemployment rates or election cycle timing).Finally, much of México (perhaps especially its most populated areas), experiences rain fairly infrequently or for just a brief period of time. This may lead to less opportunity for rain (a common detractor from protest activity elsewhere) to have the same effect here.

Warning: Maximum number of iterations has been exceeded. Current function value: 0.343961 Iterations: 35

c:\Users\ianda\.conda\envs\musa_final\lib\site-packages\statsmodels\base\model.py:607: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals
  warnings.warn("Maximum Likelihood optimization failed to "
Odds Ratio 2.5% CI 97.5% CI P>|z|
const 0.307 0.189 0.498 0.000
prcp 1.000 1.000 1.000 0.750
tavg 1.004 1.003 1.005 0.000
AEROP.INTERNACIONAL 0.242 0.149 0.393 0.000
ALTAR (OBS) 0.016 0.004 0.068 0.000
CHETUMAL INTL 0.106 0.061 0.187 0.000
CHIHUAHUA 0.437 0.255 0.748 0.003
CHILPANCINGO RO. 1.300 0.834 2.027 0.247
CHOIX 0.123 0.069 0.218 0.000
CIUDAD CONSTITUCION 0.000 0.000 0.000 0.000
CIUDAD GUZMAN JAL. 0.007 0.001 0.051 0.000
CIUDAD OBREGON SON. 0.009 0.001 0.070 0.000
CIUDAD VICTORIA 0.177 0.107 0.291 0.000
COATZACOALCOS VER. 0.113 0.061 0.208 0.000
COLIMA 0.148 0.083 0.264 0.000
COLONIA JUAN CARRAS 0.239 0.148 0.388 0.000
COLOTLAN JAL. 0.015 0.004 0.065 0.000
COMITAN CHIS. 0.050 0.024 0.105 0.000
CUERNAVACA 0.673 0.427 1.061 0.088
CULIACAN INTL 0.415 0.257 0.669 0.000
DURANGO DGO. 0.317 0.194 0.519 0.000
EJIDO NUEVO LEON (OBS) 0.907 0.569 1.446 0.681
EMPALME SON. 0.011 0.003 0.037 0.000
FELIPE CARRILLO PUERTO (OBS) 0.018 0.006 0.052 0.000
FRANCISCO SARABIA 0.319 0.200 0.507 0.000
GENERAL IGNACIO P GARCIA INTL 0.295 0.177 0.491 0.000
GUADALAJARA 0.821 0.523 1.291 0.394
GUANAJUATO 0.193 0.110 0.339 0.000
HACIENDA YLANG YLANG VERACRUZ 0.201 0.122 0.332 0.000
HERMANOS SERDAN INTL 1.047 0.666 1.646 0.843
HIDALGO DEL PARRAL CHIH. 0.008 0.002 0.035 0.000
HUAJUAPAN DE LEON (DGE) 0.119 0.067 0.209 0.000
INGENIERO ALBERTO ACUNA ONGAY 0.260 0.158 0.428 0.000
JALAPA VER. 1.591 1.019 2.485 0.041
JESUS TERAN INTL 0.056 0.027 0.117 0.000
LA PAZ (CITY) 0.263 0.165 0.419 0.000
LAGOS DE MORENO JAL. 0.197 0.089 0.436 0.000
LORETO 0.004 0.000 0.027 0.000
MANZANILLO 0.030 0.012 0.074 0.000
MATLAPA S.L.P. 0.160 0.088 0.289 0.000
MEXICO CITY 6.925 4.259 11.259 0.000
MONCLOVA 0.111 0.065 0.191 0.000
MONTERREY (CITY) 0.530 0.333 0.845 0.008
MORELIA MICH. 0.680 0.431 1.073 0.098
NUEVA CASAS GRANDES 0.080 0.043 0.149 0.000
OAXACA OAX. 0.651 0.414 1.024 0.063
ORIZABA 1.204 0.771 1.879 0.415
PACHUCA HGO. 1.022 0.643 1.622 0.928
PIEDRAS NEGRAS (OBS) 0.073 0.040 0.132 0.000
PONCIANO ARRIAGA INTL 0.184 0.108 0.312 0.000
PROGRESO 0.014 0.004 0.048 0.000
PUERTO ANGEL OAX. 0.030 0.014 0.067 0.000
PUERTO PENASCO SON. 0.000 0.000 0.000 0.000
QUERETARO INTERCONTINENTAL 0.211 0.126 0.355 0.000
RIO VERDE S.L.P. 0.000 0.000 0.000 0.000
SALINA CRUZ 0.078 0.039 0.157 0.000
SALTILLO 0.143 0.082 0.250 0.000
SN. CRISTOBAL LAS CASAS CHIS 0.260 0.156 0.434 0.000
SOMBRERETE ZAC. 0.010 0.002 0.044 0.000
SOTO LA MARINA (OBS) 0.096 0.053 0.174 0.000
TAMPICO TAMPS 0.331 0.209 0.524 0.000
TAPACHULA CHIS 0.060 0.031 0.117 0.000
TEMOSACHI (OBS) 0.000 0.000 0.000 0.000
TEMOSACHIC 0.000 0.000 0.000 0.000
TEPIC (OBS) 0.041 0.020 0.086 0.000
TLAXCALA DE XICONTECATL (DGE) 0.143 0.080 0.254 0.000
TOLUCA (OBS) 0.617 0.378 1.008 0.054
TORREON INTL 0.223 0.137 0.361 0.000
TULANCINGO HGO. 0.146 0.082 0.259 0.000
TUXPAN.VER. 0.241 0.134 0.433 0.000
VALLADOLID YUC. 0.184 0.113 0.300 0.000
VILLAHERMOSA TAB. 0.475 0.297 0.761 0.002
ZACATECAS ZAC. (LA BUFA ZAC 0.404 0.248 0.657 0.000
ZAMORA 0.205 0.122 0.342 0.000


Log-Likelihood -6753.337
Pseudo R-squared 0.211
AIC 13654.674
BIC 14238.166
No. Observations 19634.000